Testing of network applications, such as, Web server applications and database applications, traditionally involves setting up a private network of several computers. For instance, in a traditional testing environment, a network application is hosted on a server and is separate from a client browser process running on another separate computer or a number of client browser processes running on separate computers. The application communicates with client browser application(s) via a network layer over a network communication link. Thus, these approaches for testing network applications involve setting up a network including a large number of physical machines each running its own process.